package com.riccardocardin.structured.concurrency.model;

import java.net.URI;
import java.util.List;

public interface Model {

    record GitHubUser(User user, List<Repository> repositories) {}

    record User(UserId userId, UserName name, Email email) {}

    record UserId(long value) {}

    record UserName(String value) {}

    record Email(String value) {}

    record Repository(String name, Visibility visibility, URI uri) {}

    enum Visibility {
        PUBLIC,
        PRIVATE
    }

}
